﻿using System;
using System.Threading;

namespace Quantum.Core
{
    public interface IRequestBehavior
    {
        void Send(string message,
            Action<string> onSucessed,
            CancellationToken cancellationToken = default(CancellationToken));


        void Send<TIn, TOut>(Outgoing<TIn> message,
            Action<Incoming<TOut>> onSucessed,
            CancellationToken cancellationToken = default(CancellationToken));
    }
}
